<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 逻辑运算符
        /*
        || 或
        （1）如果两边都为数字，或字符串数字，则返回左边的
        （2）如果左边的值布尔转换后为【true】，那么返回左边的值
        （3）如果左边的值布尔转换后为【false】，那么返回右边的值（不管右边的值是真还是假）。
        */
        console.log("1"||"str"); // 1
        console.log(NaN||undefined); // undefined
        console.log(0 || 1); // 1

        /*
        && 与
        （1）如果两边都为数字，或字符串数字，则返回右边的
        （2）如果左边的值为 【true】，不管右边的值是（真）是（假）都返回右边的
        （3）如果左边的值为 【false】，则都返回左边的，那么返回左边的值，但是当逻辑与的左边为 null/NaN/undefined ，结果就会得到null/NaN/undefined
        */
       console.log(null && 1); // null
       console.log(undefined && 1); // undefined
       console.log(NaN && 1); // NaN
       console.log(NaN && undefined) // NaN
       console.log(1 && 0); // 0
    </script>
</body>

</html>